package org.japo.java.basics.main;

import java.util.Locale;
import java.util.Scanner;

public class DesgloseEuros {

    public static void main(String[] args) {
        // Constantes
        final double B500 = 500.0;
        final double B200 = 200.0;
        final double B100 = 100.0;
        final double B50_ = 50.0;
        final double B20_ = 20.0;
        final double B10_ = 10.0;
        final double M5__ = 5.0;
        final double M2__ = 2.0;
        final double M1__ = 1;
        final double M_50 = 0.5;
        final double M_20 = 0.2;
        final double M_10 = 0.1;
        final double M_05 = 0.05;
        final double M_02 = 0.02;
        final double M_01 = 0.01;
        
        // Instanciar la clase Scanner
        Scanner sc = new Scanner(System.in);
        sc.useLocale(Locale.ENGLISH);

        // Obtener el dinero a desglosar
        System.out.print("Dinero a desglosar en Euros .: ");
        double dinero = sc.nextDouble();

        // 500 € - 50000 centimos
        System.out.print("Billetes de 500€ ..: ");
        System.out.println((int)(dinero / B500));
        dinero %= B500;

        // 200 € - 20000 centimos
        System.out.print("Billetes de 200€ ..: ");
        System.out.println((int)(dinero / B200));
        dinero %= B200;

        // 100 € - 10000 centimos
        System.out.print("Billetes de 100€ ..: ");
        System.out.println((int)(dinero / B100));
        dinero %= B100;

        //  50 € -  5000 centimos
        System.out.print("Billetes de  50€ ..: ");
        System.out.println((int)(dinero / B50_));
        dinero %= B50_;

        //  20 € -  2000 centimos
        System.out.print("Billetes de  20€ ..: ");
        System.out.println((int)(dinero / B20_));
        dinero %= B20_;

        //  10 € -  1000 centimos
        System.out.print("Billetes de  10€ ..: ");
        System.out.println((int)(dinero / B10_));
        dinero %= B10_;

        //   5 € -  500 centimos
        System.out.print("Billetes de   5€ ..: ");
        System.out.println((int)(dinero / M5__));
        dinero %= M5__;
        
        //   2 € -  200 centimos
        System.out.print("Monedas de    2€ ..: ");
        System.out.println((int)(dinero / M2__));
        dinero %= M2__;
        
        //   1 € -  100 centimos
        System.out.print("Monedas de    1€ ..: ");
        System.out.println((int)(dinero / M1__));
        dinero %= M1__;
        
        // 0.5 € -   50 centimos
        System.out.print("Monedas de  0,5€ ..: ");
        System.out.println((int)(dinero / M_50));
        dinero %= M_50;
        
        // 0.2 € -   20 centimos
        System.out.print("Monedas de  0,2€ ..: ");
        System.out.println((int)(dinero / M_20));
        dinero %= M_20;
        
        // 0.1 € -   10 centimos
        System.out.print("Monedas de  0,1€ ..: ");
        System.out.println((int)(dinero / M_10));
        dinero %= M_10;
        
        //0,05 € -    5 centimos
        System.out.print("Monedas de 0,05€ ..: ");
        System.out.println((int)(dinero / M_05));
        dinero %= M_05;
        
        //0,02 € -    2 centimos
        System.out.print("Monedas de 0,02€ ..: ");
        System.out.println((int)(dinero / M_02));
        dinero %= M_02;
        
        //0,01 € -    1 centimos
        System.out.print("Monedas de 0,01€ ..: ");
        System.out.println((int)(dinero / M_01));
    }
}
